Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add file/folder description (and other new features and bugfixes) #289

Open
wants to merge 28 commits into
base: master
Choose a base branch
from

Conversation

Anarky
Copy link
Contributor

@Anarky Anarky commented Jul 13, 2015

Hello,

This is a pretty big PR; I made a summary of it, but every fix or new feature has its own commit.
Please tell me if you want me to split it in smaller PRs.

New features:

  • title for buttons
  • new spinner when loading a photoshere
  • more translatable elements, all translated in French
  • rename/move metadatas when moving/renaming its associated file
  • add a description to a file or folder (some changes had to be made on the CSS)

Fixes:

  • proper basename fix
  • RSS (hide RSS button and complete deactivation)
  • thumbnails size option not saved
  • disable javascript inside inputs and textareas
  • file renaming (when renaming to the same name or if the new name already exists)
  • rec_del() behaviour
  • don't show comments if we don't have the right to view its associated file

And some dead code removal.

Anarky added 28 commits May 11, 2015 01:01
basename will strip the first character if it is accented.
This commit add the mb_basename function, taken from https://bugs.php.net/bug.php?id=37268

This fixes:
- file renaming on upload when a file with the same name already exists
- comments and permissions ("éa.jpg" and "a.jpg" used the same file for comments/permissions)
- photospheres folder ("éPhotoSpheres" was matching "PhotoSpheres")
- file and folder name on the right menu
- file and folder name in the rename textbox
- filename in the left menu, the header and the RSS file
- filename when downloading a picture or a zip

The only remaining problem is with the exif infos on the right menu, but it is an external call to exif_read_data().
This add title for buttons on the ImageBar, RSS and right menubar.
The spinnger was generated on http://spiffygif.com/ with the following parameters:
- 8 lines
- corners 1.0
- trail 50
- rotate 0
- no shadow, halo
- black foreground, white background
- length 0
- width 10
- radius 18

Their license (at the bottom on the "Docs" tab) permits to use it on this project.
Some keys (left, right, up, space, escape) are always listened, making writing
or moving inside the rename input or comment textarea difficult.
This fixes thibaud-rohmer#248.
Before this commit, Menu::list_files() was returning only files considered
to be an image or a video, even with $hidden set to true.
Now we can get all the files a directory contains with a new option, in case
some code expects the previous behaviour.
…erything*

Now that Menu::list_files() is fixed, we can use it to effectively delete
everything, e.g. a thumbnail folder containing xml metadatas among others
files.
The return of self::Extension($file) was incorrectly checked, thus returning
the 0 at the end of the function.
This can cause problems, because `"foo" == 0` is true in PHP...
When a file or folder was renamed or deleted, its metadatas (tokens,
xml and thumbnail) were kept.
This commit will keep the Thumbs directory consistent with the picture
directory.
There is now a new div (#image_panel_table) inside #image_panel, encompassing
#bigimage and #image_bar.
This change was made to have dynamic resizing inside #image_panel, which
will help to display description (see next commit) with a variable height.

It should not change the page rendering, with the exception of a picture
displayed with a page height under 300px. Instead of reducing more and more
#image_panel, now a scrollbar appears.
This new feature is optional (but activated by default).
A new option added to the right menu permits to write a description, displayed
between the image/video and the navigation buttons, or under the header for a
folder.
When a description is empty, it is hidden using CSS to remove its padding.

The Description class is based on the Comments class.
When a comment or a description contained an ampersand, their saving was
throwing a warning:
"PHP Warning:  SimpleXMLElement::addChild(): unterminated entity reference"
An XML with an empty content ("<content/>") was created.
This fixes this problem; a thorough explanation can be read here:
http://stackoverflow.com/a/555039
The change in Video.php to set a width was mandatory for 4:3 screens,
otherwise the video stretched outside the screen.
@Anarky
Copy link
Contributor Author

Anarky commented Jul 30, 2015

Hello Thibaud,
I really would like your opinion on this pull request; tell me if you want me to rework some changes or split them.

@thibaud-rohmer
Copy link
Owner

Hey Anarky,

I haven't forgotten about your pull request, it's just that it's so big it
takes me quite some time to review :)

I have no change requests so far, and I hope to be able to merge it soon !

Thanks !

On Fri, 31 Jul 2015 at 00:09 Anarky [email protected] wrote:

Hello Thibaud,
I really would like your opinion on this pull request; tell me if you want
me to rework some changes or split them.


Reply to this email directly or view it on GitHub
#289 (comment)
.

@Anarky
Copy link
Contributor Author

Anarky commented Apr 13, 2016

Hello Thibaud,

If you are still planning to merge my changes, please tell me and I will resolve the conflicts.

Regards,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants